查看原文
其他

HellsingAPT分享

一半人生 看雪学院 2021-03-06

本文为看雪论坛精华文章

看雪论坛作者ID:一半人生





概述


Hellsing使用鱼叉式网络钓鱼技术来破坏东南亚,印度和美国的外交目标。APT 30似乎也是其组织目标之一,可能使用与Mirage相同的基础设施。

2015年被卡巴披露黑吃黑APT_ON_APT,Hellsing对NaikonAPT组织进行钓鱼。
 




组件分析


Exe:
 

1) 初始化字符串,执行cmd删除Up目录下数据,如下所示:

 

C:\Windows\system32\cmd.exe /c "rd /s/q "C:\ProgramData\Windows\Intel\Up\*""


2) 枚举TCP端口连接情况,如下所示:



3) 创建局域网Socket端口443,结合上述获取TCP连接,开放局域网端口,有横向扫描意向,如下所示:



4) 内存中提取网络信标1.187.1.187
 



5) 清除DNS缓存



6) 结束指定Pid

 


7) 网络相关
 


8) 部分样本以Borland Delphi做为第一载荷,功能释放Dll。

 


9) 部分样本DOS头存根包含可执行Shellcode。

 

 
RTF:

CVE-2018-0802分析
EQNEDT32.EXE.Md5:E6D02E3F423FFB5299D627500E88D44D

POC分析:

1) 漏洞触发,附加WINWORD下断是无效的(不是同一个进程),先OD打开或者附加EQNEDT32.exe,下断WINExec双击POC。

通过Procexp进程树观察POC通过cmd执行计算器,可以尝试ShellExec和WINExec,CreateProcess三个函数,如下所示:

 


2) 发现Cmdline已经填充好了指令,查看内存该栈溢未被破坏,回溯发现仍是完整的栈空间,比较快捷实现指令流程跳转可以基于eip修改,jmp和call,call会push返回,如下所示:
 

3) 硬件断点-回溯,经过几次调试发现拷贝位置,如下所示:
 

4) 拷贝payload,执行ret跳转到栈地址执行shellcode。
 
 
5) 加载样本,跟踪shellCode执行。
 


6) 执行shellCode
 

7) 解密Shellcode代码段:
 
 


8) ShellCode使用傀儡进程注入(dllhst3g.exe),TMEP目录下释放8.tmp.exe可执行文件。

 

 
McAfee-QcConsol白加黑利用:

1) 8.t文件在Roaming\MikRosotf\Windows\Printer Shortcuts\目录下释放带有McAfee签名可执行文件,执行加载QcLite.dll,加载恶意stdole.tilb文件。
 
 
 
2) QcLite.dll被加载,读取解密stdole文件,执行shellcode。

 




CVE-2017-11882分析


1) 下断0041160F函数地址,经过多次拷贝溢出,如下所示:

 
2) 00411874地址下断,返回ret跳转shellcode。

 
3) 执行ShellCode。
 
 
4) shellcode读取8.t解密,内存中解密出可执行文件,如下所示:



 
5) 8.t释放可执行文件,执行带签名dascgosrky.exe,加载RasTls.dll,白加黑利用:


 
Dascgosrky-RasTls.dll白加黑利用:

6) RasTls内存解密PE,利用CreateThread执行回调恶意感染进行C2分发:


Sys:

RootKit驱动保护:
 
 
1)Ntfs\FastFat文件保护,如下所示:
 

FileSystem\\FastFat和FileSystem\\Ntfs,当系统删除一个文件时候向ntfs或者fastfat驱动发送派遣函数IRP_MJ_SET_INFORMATION请求,当打开一个文件会响应IRP_MJ_CREATE。


2)利用ObReferenceObjectByName获取了NTFS驱动对象。
 


3)替换派遣函数IRP_MJ_CREATE指针函数,如下所示:



 
4)Hook函数分析,通过_IO_STACK_LOCATION._FILE_OBJECT.FileName,来判断是否是保护的文件:
 

5)将文件路径进行任意替换,指向其它的字符串,对文件操作时候,处理派遣IRP_MJ_CREATE修改FILE_OBJECT.FileName从而达到文件保护功能。
 


ControlCode

6)控制码:2352220,执行_EPROCESS.ActiveProcessLink摘链操作,隐藏进程。
 

7)编写测试驱动,发送CTL_PROCESS_HIDE隐藏PID成功。

#define CTL_PROCESS_HIDE \
        CTL_CODE(FILE_DEVICE_VIDEO, 0x3917, METHOD_BUFFERED, FILE_ANY_ACCESS)



8)控制码:23511128,用户层传递需要保护的文件数组,进行赋值操作。
 
 
NTFS和FASTFAT进行了fsd  Hook实现文件保护,EPROCESS结构摘链实现进程隐藏。





事件驱动应用


下述环节需要完善的安全建设体系应用,F3EAD流程应用图搞丢了,分享给各位入门的新手学习(附原图绘制),这部分应用和溯源能吹的东西太多了,实际反制溯源的很少,就当作一种依据/技术手段应用即可。

杀伤链:


杀伤链环节
杀伤链内容
1) Reconnaissance 侦察
通过邮箱泄露等信息采集,获取攻击目标的邮箱与电话等信息
2) Weaponization 武器构建
针对目标受害主机精心构造shellcode
3) Delivery 载荷投递
攻击者投递含有cve-2017-11882/cve-2018-0802钓鱼邮件
4) Exploitation 漏洞利用
打开word文档,触发cve执行
5) Installation 驻留
shllcode释放PE,白加黑战术利用
6) C2 Command and Control
C2控制
7) Actions on Objectives(采取行动)
窃取机密数据


 
砖石模型:

Infrastructur-基础设施:

1) exp库

2) 情报来源

3) 网络信标相关基础设施

 
Adversary-攻击者。
 

CaPability-能力:

1) 鱼叉式投递

2) CVE+1Day

3) Rat/shellcode框架

 

Victim-受害者:

1) 涉政/军事外交人员。

2) 利益冲突的黑客组织。

3) 受害者地区分布印度,美国等地区,以美国举例,中央时区/东部时区攻击活跃


 



IOC


1c6ef040cd7121915245677eef5a3180
1fd7a38b452cfcedbe26bee721a659c0
2c6af1f21b91602d4d6164cbce4b28f9
9de35edb5da909b84d2b4f1176a835b6
35ea5e4ce3f78c2d2e4c928f6be7e756
40eb38b39c5cfdd2d2c0477cc1e683d2
42e8163b7f08dd383e62e4bdb7f07c08




- End -



看雪ID:一半人生

https://bbs.pediy.com/user-819685.htm

  *本文由看雪论坛 一半人生 原创,转载请注明来自看雪社区。



推荐文章++++

* PWN:unsafe unlink

* 断其粮道——内核级拒绝服务攻击

* Sandboxie循序渐进耳之监控篇上

* CVE-2017-0263 win32k漏洞分析笔记

* 0基础也能看懂的函数栈结构分析







公众号ID:ikanxue
官方微博:看雪安全
商务合作:wsc@kanxue.com



求分享

求点赞

求在看


“阅读原文”一起来充电吧!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存